package me.send.framework.util;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.UUID;

/**
 * 2015年5月26日16:00:48
 * 
 * 定义这个类 主要是辅助给其他的类 业务
 * 
 * @author 杨中仁
 * 
 */
public class HelperUtil {

	/**
	 * 获取tomcat下面的webapps路径
	 */
	@SuppressWarnings("unused")
	private static String tomcatwebappspath;
	
	public static String GetContextURL(String url) {
		StringBuilder context = new StringBuilder();
		try {
			URL oracle = new URL(url);
			URLConnection yc = oracle.openConnection();
			BufferedReader in = new BufferedReader(new InputStreamReader(yc
					.getInputStream(), "utf-8"));
			String inputLine = null;
			while ((inputLine = in.readLine()) != null) {
				context.append(inputLine);
			}
			in.close();
		} catch (MalformedURLException localMalformedURLException) {
		} catch (IOException localIOException) {
		}
		return context.toString();
	}

	// 如果没有穿过来格式
	// 那么使用默认的格式
	// 2015年5月26日15:52:10
	public static SimpleDateFormat simpleDateFormat = new SimpleDateFormat(
			"yyyy-MM-dd HH:mm:ss");
	
	public static SimpleDateFormat simpleDateFormat2 = new SimpleDateFormat(
	"yyyy-MM-dd HH:mm:ss");

	/** 第一种是什么都不传 2015年5月26日15:53:13 默认是当前时间 和 当前的默认格式的日期 * */
	public static String getCurrentDate() {
		return simpleDateFormat.format(new Date());
	}

	/** 第二种就是直接在传格式过来 时间是当前时间 2015年5月26日15:54:38 * */
	public static String getCurrentDate(final String formmat) {
		// 判断这个格式是否是null 或者是""
		if (formmat != null && !formmat.equals("")) {
			simpleDateFormat2 = new SimpleDateFormat(formmat);
		}
		// 最后返回当前时间的指定格式的时间格式
		return simpleDateFormat2.format(new Date());
	}

	/** 第三种 获取date下面的value的值 指定时间的 2015年5月26日15:56:55 * */
	public static String getDateValue(Date date) {
		// 是默认的格式 2015年5月26日15:58:58
		return simpleDateFormat.format(date);
	}

	/** 第四种 获取date下面 指定格式的 value 2015年5月26日15:58:01 * */
	public static String getDateValue(String formmat, Date date) {
		// 判断这个格式是否是null 或者是""
		if (formmat != null && !formmat.equals("")) {
			simpleDateFormat2 = new SimpleDateFormat(formmat);
		}
		return simpleDateFormat2.format(date);
	}

	/** 获取uuid 2015年6月3日18:00:45 * */
	public static String randomUUID() {
		return UUID.randomUUID().toString().toUpperCase();
	}

	public static String randomuuid() {
		return UUID.randomUUID().toString().toLowerCase();
	}

	/** 获取没有-号的uuid 2015年6月3日18:02:20 * */
	public static String UUID() {
		return randomUUID().replaceAll("-", "");
	}

	public static String uuid() {
		return randomuuid().replaceAll("-", "");
	}
}
